package com.wwy.order.service;

import com.common.domain.CommonResult;
import com.common.domain.PageResult;
import com.wwy.order.domain.ConfirmRefundOrder;
import com.wwy.order.domain.vo.QueryOrderPageReq;
import com.wwy.order.domain.vo.ReportOrderCreateVo;
import com.wwy.order.domain.vo.ReportOrderRespVo;

/**
 * @author 王伟羽
 * @date 2024/12/12 10:37
 */
public interface ReportOrderService {

    /**
     * 创建订单
     * @return
     */
    String createReportOrder(ReportOrderCreateVo createVo);


    /**
     * 根据订单号查询订单
     * @param orderNumber
     * @return
     */
    ReportOrderRespVo selectByOddNum(String orderNumber);

    /**
     * 分页查询订单
     * @param req
     * @return
     */
    PageResult<ReportOrderRespVo> selectPage(QueryOrderPageReq req);

    /**
     * 用户发起退款申请
     * @param orderNumber
     * @return
     */
    CommonResult toRefundOrder(String orderNumber);

    /**
     * 退款审核
     * @param refoundOrder
     * @return
     */
    CommonResult confirmRefundOrder(ConfirmRefundOrder refoundOrder);


    /**
     * 发起退款
     * @param orderNumber
     * @return
     */
    CommonResult refundOrder(String orderNumber);
}
